package gatperdut.chato.constants;

import gatperdut.chato.model.Chato.Constant.WearLoc;

public final class CSConstantsInventory {

    public final static String WLOC_POSS_INV_NAME_FEET = "on @ feet";
    public final static String WLOC_POSS_INV_NAME_HEAD = "on @ head";
    public final static String WLOC_POSS_INV_NAME_LHAND = "in @ left hand";
    public final static String WLOC_POSS_INV_NAME_RHAND = "in @ right hand";
    public final static String WLOC_POSS_INV_NAME_LANKLE = "around @ left ankle";
    public final static String WLOC_POSS_INV_NAME_RANKLE = "around @ right ankle";
    public final static String WLOC_POSS_INV_NAME_LWRIST = "around @ left wrist";
    public final static String WLOC_POSS_INV_NAME_RWRIST = "around @ right wrist";

    public static String getWearLocPossessiveInvName( WearLoc wearLoc ) {
        switch ( wearLoc ) {
        case FEET:
            return WLOC_POSS_INV_NAME_FEET;
        case HEAD:
            return WLOC_POSS_INV_NAME_HEAD;
        case LHAND:
            return WLOC_POSS_INV_NAME_LHAND;
        case RHAND:
            return WLOC_POSS_INV_NAME_RHAND;
        case LANKLE:
            return WLOC_POSS_INV_NAME_LANKLE;
        case RANKLE:
            return WLOC_POSS_INV_NAME_RANKLE;
        case LWRIST:
            return WLOC_POSS_INV_NAME_LWRIST;
        case RWRIST:
            return WLOC_POSS_INV_NAME_RWRIST;
        default:
            throw new IllegalArgumentException( "Getting possessive inventory name of unknown wear location." );

        }
    }

    public final static String WLOC_INV_NAME_FEET = "worn on feet";
    public final static String WLOC_INV_NAME_HEAD = "worn on head";
    public final static String WLOC_INV_NAME_LHAND = "carried in left hand";
    public final static String WLOC_INV_NAME_RHAND = "carried in right hand";
    public final static String WLOC_INV_NAME_LANKLE = "around left ankle";
    public final static String WLOC_INV_NAME_RANKLE = "around right ankle";
    public final static String WLOC_INV_NAME_LWRIST = "around left wrist";
    public final static String WLOC_INV_NAME_RWRIST = "around right wrist";

    public static String getWearLocInvName( WearLoc wearLoc ) {
        switch ( wearLoc ) {
        case FEET:
            return WLOC_INV_NAME_FEET;
        case HEAD:
            return WLOC_INV_NAME_HEAD;
        case LHAND:
            return WLOC_INV_NAME_LHAND;
        case RHAND:
            return WLOC_INV_NAME_RHAND;
        case LANKLE:
            return WLOC_INV_NAME_LANKLE;
        case RANKLE:
            return WLOC_INV_NAME_RANKLE;
        case LWRIST:
            return WLOC_INV_NAME_LWRIST;
        case RWRIST:
            return WLOC_INV_NAME_RWRIST;
        default:
            throw new IllegalArgumentException( "Getting inventory name of unknown wear location." );

        }
    }

    public final static String WLOC_NAME_FEET = "feet";
    public final static String WLOC_NAME_HEAD = "head";
    public final static String WLOC_NAME_LHAND = "left hand";
    public final static String WLOC_NAME_RHAND = "right hand";
    public final static String WLOC_NAME_LANKLE = "left ankle";
    public final static String WLOC_NAME_RANKLE = "right ankle";
    public final static String WLOC_NAME_LWRIST = "left wrist";
    public final static String WLOC_NAME_RWRIST = "right wrist";

    public static String getWearLocName( WearLoc wearLoc ) {
        switch ( wearLoc ) {
        case FEET:
            return WLOC_NAME_FEET;
        case HEAD:
            return WLOC_NAME_HEAD;
        case LHAND:
            return WLOC_NAME_LHAND;
        case RHAND:
            return WLOC_NAME_RHAND;
        case LANKLE:
            return WLOC_NAME_LANKLE;
        case RANKLE:
            return WLOC_NAME_RANKLE;
        case LWRIST:
            return WLOC_NAME_LWRIST;
        case RWRIST:
            return WLOC_NAME_RWRIST;
        default:
            throw new IllegalArgumentException( "Getting name of unknown wear location." );

        }
    }

}
